import { ReactNode } from 'react';

export interface SelectProps {
  id: number | string;
  title: string;
}

export interface TabProps {
  id: number;
  title: string | ReactNode;
  data: ReactNode | undefined;
}

export interface AccordionProps {
  id: string | number;
  title: ReactNode;
  body: ReactNode;
}
export interface IOption {
  value: number;
  label: string;
}

export interface FileWithPreview extends File {
  preview: string;
}

export type ProfileTabVariants = 'main' | 'data' | 'feedback' | 'purchases' | 'subscription' | 'favorites';
export type BoughtCourseTabVariants = 'info' | 'review' | 'purchase';

export interface ResponseType {
  statusCode?: 0 | 1;
  message?: string;
  error?: string;
}

export type PageBlock = {
  id: string;
  title: JSX.Element | string;
  body: JSX.Element | undefined;
};

export enum Modals {
  CreateOrderModal = 'create_order',
  GetNewPassword = 'get_new_password',
  SuccessPassword = 'success_password',
  SuccessModal = 'successful_order',
  RatingSendModal = 'rating_send_modal',
  ShareModal = 'share',
  FeedbackModal = 'feedback',
  EditAvatar = 'edit_avatar',
  MessageSendModal = 'message_send',
  ConfirmModal = 'confirm_feedback_modal',
  ConfirmExitModal = 'confirm_exit_modal',
  ConfirmDelete = 'confirm_delete',
  SendReview = 'send_review_modal',
  ChangePassword = 'change_password',
  DeleteProfile = 'delete_profile',
  AdvantagesModal = 'advantages_profile',
  ChangeTarif = 'change_tarif',
  TarifPlans = 'tarif_plans',
  AddPaymentCard = 'add_payment_card',
  DeletePaymentCard = 'delete_payment_card',
  PremiumWelcome = 'premium_welcome',
  Subscription = 'subscription',
  TurnOffPremium = 'turn_off_premium',
}
